% 演示无相互作用的两个一维粒子的系统的波函数
% x1, x2代表两个粒子的坐标，state1, state2代表两个本征态波函数
% 为了简化，没有做归一化常数。
% Gitee Repo.

% 基本原理：
% 众所周知，如果是经典粒子（可区分粒子），系统的波函数=各个粒子波函数的乘积：state(x1,x2) = state1(x1)*state2(x2)
% 如果是全同粒子（不区分粒子），交换粒子不导致新的状态：state(x1,x2) = state (x2,x1)
% 对于全同玻色子，此时系统的波函数 state= 1/sqrt(2) (state1(x1)*state2(x2) + state1(x2)*state2(x1))
% 对于全同费米子， state= 1/sqrt(2) (state1(x1)*state2(x2) - state1(x2)*state2(x1))
% 可以发现，对于费米子，若state1=state2, 那么 state = 0。即两个费米子不能同时处于相同的本征态，所谓 Pauli不相容原理

clc
clear

L=10;

n1 = 5;
n2 = 2;

k1 = 2*pi*n1/L;
k2 = 2*pi*n2/L;

state1 = @(x) sin(k1*x);
state2 = @(x) sin(k2*x);

[x1,x2] = meshgrid(0:0.1:L);
classical = state1(x1).*state2(x2);
identical_boson = state1(x1).*state2(x2) + state1(x2).*state2(x1);
identical_fermion = state1(x1).*state2(x2) - state1(x2).*state2(x1);

figure();
hold on
axis equal
caxis([-1 1]);
view([-45 30])

h = surf(x1,x2,identical_fermion)
set(h,'EdgeColor','none');

line([0 10], [0 10], [2 2])


